Torque security of mpc-based powertrain control

ABSTRACT

A propulsion system, control system, and method are provided that use model predictive control to generate an initial selected engine output torque value. A minimum torque limit is determined by selecting a minimum acceptable engine output torque. A maximum torque limit is determined by selecting a maximum acceptable engine output torque. A desired engine output torque value is set as: a) the minimum torque limit, if the initial selected engine output torque value is less than the minimum torque limit; b) the maximum torque limit, if the initial selected engine output torque value is greater than the maximum torque limit; or c) the initial selected engine output torque value, if the initial selected engine output torque value is neither greater than the maximum torque limit nor less than the minimum torque limit.

TECHNICAL FIELD

The disclosure relates to a control system and method for a propulsionsystem of a motor vehicle having an engine and a transmission, and moreparticularly to a control system and method that uses a multivariablecontroller.

INTRODUCTION

Propulsion system control in a motor vehicle generally involves readingdriver and vehicle inputs, such as accelerator pedal position, vehiclesensor data, and torque requests, and communicating these inputs to anEngine Control Module (ECM) and a Transmission Control Module (TCM). TheECM may calculate a desired axle torque from the driver and vehicleinputs. The desired axle torque may then be communicated to the engineand to the ECM. The engine is controlled based on the desired axletorque to produce an actual axle torque. Meanwhile, a desired speed orgear ratio is calculated from the desired axle torque and the vehiclespeed. The desired gear ratio is then communicated to the transmission.The transmission is controlled based on the desired gear ratio toproduce an actual gear ratio. The actual axle torque and the actual gearratio define the operating conditions of the motor vehicle.

While this system of propulsion system control is useful for itsintended purpose, there is room in the art for improvements that providedynamic control of the axle torque to balance performance and fueleconomy, especially in propulsion systems having a continuously variabletransmission. Engine control systems have been developed to controlengine output torque to achieve a desired torque. Traditional enginecontrol systems, however, may not control the engine output torque asaccurately as desired.

Accordingly, model predictive control (MPC) systems have been proposedfor use in vehicle propulsion systems (or powertrain systems) in orderto optimize certain parameters, such as fuel economy, while achievingdesired torque. Such systems may be complicated, however, and protectionof the propulsion control system is desirable to prevent unanticipatedresults.

SUMMARY

A method and system are provided to control a parameter, such as avehicle acceleration, in a vehicle propulsion system while optimizingfuel economy, through the use of model predictive control. In someforms, model predictive control is used to coordinate the engine andtransmission to improve fuel economy and drivability. A torque securitymechanism is employed to ensure that commanded engine output torque doesnot exceed a minimum or maximum of acceptable engine output torque.

In one form, which may be combined with or separate from other formsdisclosed herein, a method for controlling a propulsion system of amotor vehicle is provided. The method includes determining an initialselected engine output torque value using a model predictive controlsystem. The method further includes determining at least one of a firstminimum acceptable engine output torque and a second minimum acceptableengine output torque. The first minimum acceptable engine output torqueis based on an engine output torque requested and a predetermined engineoutput torque minimum constant, and the second minimum acceptable engineoutput torque is based on an axle torque requested and a predeterminedaxle torque minimum constant. The method includes determining a minimumtorque limit by selecting one of the first and second minimum acceptableengine output torques. The method includes determining whether theinitial selected engine output torque value is less than the minimumtorque limit, and if the initial selected engine output torque value isless than the minimum torque limit, setting a desired engine outputtorque value as the minimum torque limit. The method also includesdetermining at least one of a first maximum acceptable engine outputtorque and a second maximum acceptable engine output torque. The firstmaximum acceptable engine output torque is based on the engine outputtorque requested and a predetermined engine output torque maximumconstant, and the second maximum acceptable engine output torque isbased on the axle torque requested and a predetermined axle torquemaximum constant. The method includes determining a maximum torque limitby selecting one of the first and second maximum acceptable engineoutput torques. The method includes determining whether the initialselected engine output torque value is greater than the maximum torquelimit, and if the initial selected engine output torque value is greaterthan the maximum torque limit, setting the desired engine output torquevalue as the maximum torque limit. The method includes setting thedesired engine output torque value as the initial selected engine outputtorque value if the initial selected engine output torque value isneither greater than the maximum torque limit nor less than the minimumtorque limit.

In another form, which may be combined with or separate from the otherforms disclosed herein, a motor vehicle propulsion control system for amotor vehicle having a transmission and an engine is provided. The motorvehicle propulsion control system includes a model predictive controlmodule configured to determine an initial selected engine output torquevalue using a model predictive control scheme. The motor vehiclepropulsion control system further includes a torque security monitormodule configured to determine at least one of a first minimumacceptable engine output torque and a second minimum acceptable engineoutput torque. The first minimum acceptable engine output torque isbased on an engine output torque requested and a predetermined engineoutput torque minimum constant, and the second minimum acceptable engineoutput torque is based on an axle torque requested and a predeterminedaxle torque minimum constant. The torque security monitor module isconfigured to determine a minimum torque limit by selecting one of thefirst and second minimum acceptable engine output torques. The torquesecurity monitor module is configured to determine whether the initialselected engine output torque value is less than the minimum torquelimit and set a desired engine output torque value as the minimum torquelimit if the initial selected engine output torque value is less thanthe minimum torque limit. The torque security monitor module is furtherconfigured to determine at least one of a first maximum acceptableengine output torque and a second maximum acceptable engine outputtorque. The first maximum acceptable engine output torque is based onthe engine output torque requested and a predetermined engine outputtorque maximum constant, and the second maximum acceptable engine outputtorque is based on the axle torque requested and a predetermined axletorque maximum constant. The torque security monitor module isconfigured to determine a maximum torque limit by selecting one of thefirst and second maximum acceptable engine output torques. The torquesecurity monitor module is configured to determine whether the initialselected engine output torque value is greater than the maximum torquelimit and set the desired engine output torque value as the maximumtorque limit if the initial selected engine output torque value isgreater than the maximum torque limit. The torque security monitormodule is configured to set the desired engine output torque value asthe initial selected engine output torque value if the initial selectedengine output torque value is neither greater than the maximum torquelimit nor less than the minimum torque limit.

In yet another form, which may be combined with or separate from theother forms disclosed herein, a propulsion system for a motor vehicle isprovided. The propulsion system includes an engine operable to power themotor vehicle. The engine has an engine output shaft configured totransfer engine output torque. The propulsion system also includes acontinuously variable transmission having a variator assembly includinga first pulley and a second pulley. The first and second pulleys arerotatably coupled by a rotatable member. At least one of the first andsecond pulleys includes a movable sheave translatable along an axis toselectively change a gear ratio between the engine output shaft and atransmission output shaft. In addition, a drive axle is provided andconfigured to be driven via the transmission output shaft. The driveaxle is configured to output axle torque to a set of wheels.

Further, the propulsion system includes a control system having a modelpredictive control module configured to determine an initial selectedengine output torque value using a model predictive control scheme. Thecontrol system also has a torque security monitor module configured todetermine at least one of a first minimum acceptable engine outputtorque and a second minimum acceptable engine output torque. The firstminimum acceptable engine output torque is based on an engine outputtorque requested and a predetermined engine output torque minimumconstant, and the second minimum acceptable engine output torque isbased on an axle torque requested and a predetermined axle torqueminimum constant. The torque security monitor module is configured todetermine a minimum torque limit by selecting one of the first andsecond minimum acceptable engine output torques. The control system isconfigured to determine whether the initial selected engine outputtorque value is less than the minimum torque limit and set a desiredengine output torque value as the minimum torque limit if the initialselected engine output torque value is less than the minimum torquelimit.

The control system is further configured to determine at least one of afirst maximum acceptable engine output torque and a second maximumacceptable engine output torque. The first maximum acceptable engineoutput torque is based on the engine output torque requested and apredetermined engine output torque maximum constant, and the secondmaximum acceptable engine output torque is based on the axle torquerequested and a predetermined axle torque maximum constant. The torquesecurity monitor module is configured to determine a maximum torquelimit by selecting one of the first and second maximum acceptable engineoutput torques.

The control system is configured to determine whether the initialselected engine output torque value is greater than the maximum torquelimit and set the desired engine output torque value as the maximumtorque limit if the initial selected engine output torque value isgreater than the maximum torque limit. The control system is furtherconfigured to set the desired engine output torque value as the initialselected engine output torque value if the initial selected engineoutput torque value is neither greater than the maximum torque limit norless than the minimum torque limit.

Additional features may be provided with any form disclosed herein,including but not limited to the following: the method or control systembeing configured to determine both of the first and second minimumacceptable engine output torques; the method or control system beingconfigured to determine both of the first and second maximum acceptableengine output torques; the method or control system being configured todetermine the minimum torque limit by selecting the lower of the firstand second minimum acceptable engine output torques; the method orcontrol system being configured to determine the maximum torque limit byselecting the greater of the first and second maximum acceptable engineoutput torques; the method or control system being configured todetermine the first minimum acceptable engine output torque bysubtracting the predetermined engine output torque minimum constant fromthe engine output torque requested; the method or control system beingconfigured to determine the first maximum acceptable engine outputtorque by adding the predetermined engine output torque maximum constantto the engine output torque requested; the method or control systembeing configured to determine the second minimum acceptable engineoutput torque Te_2_acc_(min) with the following equation:

${{{Te\_}2{\_ acc}_{\min}} = \frac{{Ta\_ r} - {P_{2}D_{3}A}}{{rat\_ a}{\_ m}*{FD}}},$

where Ta_r is the axle torque requested, P₂D₃A is the predetermined axletorque minimum constant, rat_a_m is a measured actual transmissionratio, and FD is a final drive ratio; the method or control system beingconfigured to determine the second maximum acceptable engine outputtorque Te_2_acc_(max) with the following equation:

${{{Te\_}2{\_ acc}_{\max}} = \frac{{Ta\_ r} + {P_{2}D_{2}A}}{{rat\_ a}{\_ m}*{FD}}},$

where P₂D₂A is the predetermined axle torque maximum constant.

Further additional features may be provided, including but not limitedto the following: the method or control system being configured todetermine whether the desired engine output torque value is set as theminimum torque limit or the maximum torque limit for a predeterminedfailure time period; the method or control system being configured toset a failure mode output as true if the desired engine output torquevalue is set as the minimum torque limit or the maximum torque limit forthe predetermined failure time period; and the method or control systembeing configured to set the desired engine output torque value as theengine output torque requested if the failure mode output is true.

Even further additional features may be provided, including but notlimited to the following: the method or control system being configuredto determine an accelerator pedal position PP; the method or controlsystem being configured to determine a vehicle speed V; the method orcontrol system being configured to determine the axle torque requestedTa_r based on the accelerator pedal position PP and the vehicle speed V;the method or control system being configured to determine atransmission ratio requested Rat_r based on the axle torque requestedTa_r and the vehicle speed V; the method or control system beingconfigured to determine the engine output torque requested Te_r based onthe axle torque requested Ta_r, the transmission ratio requested Rat_r)and the final drive ratio FD.

In addition, the method or control system may be configured to determinethe initial selected engine output torque value by generating aplurality of sets of possible command values, the plurality of sets ofpossible command values including a plurality of commanded engine outputtorque values and a plurality of commanded transmission ratio values,determining a cost for each set of possible command values based on afirst predetermined weighting value, a second predetermined weightingvalue, a predicted actual axle torque value of a plurality of predictedaxle torque values, a predicted actual fuel consumption rate value of aplurality of predicted actual fuel consumption rate values, the axletorque requested, the engine output torque requested, the transmissionratio requested, and a fuel consumption rate requested, determiningwhich set of possible command values of the plurality of sets ofpossible command values has a lowest cost, and selecting the set ofpossible command values that has the lowest cost to define a selectedset, the selected set including the initial selected engine outputtorque value and a selected transmission ratio value.

Further, the method or control system may be configured to control avehicle parameter based on the desired engine output torque value andthe selected transmission ratio value.

Additional features, aspects and advantages will become apparent byreference to the following description and appended drawings whereinlike reference numbers refer to the same component, element or feature.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings described herein are for illustration purposes only and arenot intended to limit the scope of the present disclosure in any way.

FIG. 1 is a schematic diagram of a motor vehicle having an exemplarypropulsion system, in accordance with the principles of the presentdisclosure;

FIG. 2 is a schematic diagram showing a propulsion control system foruse with the propulsion system shown in FIG. 1, according to theprinciples of the present disclosure;

FIG. 3 is a schematic diagram of a control system for use with thepropulsion control system shown in FIG. 2, in accordance with theprinciples of the present disclosure;

FIG. 4 is a schematic diagram illustrating additional details of thecontrol system shown in FIG. 3, according to the principles of thepresent disclosure;

FIG. 5 is a schematic diagram illustrating additional details of amultivariable controller of the control system shown in FIGS. 3-4, inaccordance with the principles of the present disclosure; and

FIG. 6 is a block diagram illustrating a method for a controlling avehicle propulsion system, according to the principles of the presentdisclosure.

DESCRIPTION

With reference to FIG. 1, an exemplary motor vehicle is shown andgenerally indicated by reference number 9. The motor vehicle 9 isillustrated as a passenger car, but it should be appreciated that themotor vehicle 9 may be any type of vehicle, such as a truck, van,sport-utility vehicle, etc. The motor vehicle 9 includes an exemplarypropulsion system 10. It should be appreciated at the outset that whilea rear-wheel drive propulsion system 10 has been illustrated, the motorvehicle 9 may have a front-wheel drive propulsion system withoutdeparting from the scope of the present disclosure.

The propulsion system 10 generally includes an engine 12 interconnectedwith a transmission 14 and a final drive unit 16. The engine 12 may be aconventional internal combustion engine or an electric engine, hybridengine, or any other type of prime mover, without departing from thespirit and scope of the present disclosure. The engine 12 supplies adriving engine output torque to the transmission 14 via a crankshaft orengine output shaft 18. The driving engine output torque may betransmitted through a flexplate and/or starting device 20 to thetransmission 14. The starting device 20 may be a hydrodynamic device,such as a fluid coupling or torque converter, a wet dual clutch, or anelectric motor, by way of example. Torque is then transmitted from thestarting device 20 to at least one transmission input shaft 22.

The transmission 14 may be a stepped transmission having planetarygears, a countershaft transmission, a continuously variabletransmission, or an infinitely variable transmission. Torque from thetransmission input shaft 22 is communicated through a ratio control unit24 to a transmission output shaft 26. Generally, the ratio control unit24 provides a plurality of forward or reverse speed or gear ratios, oran infinite number of forward or reverse speed or gear ratios, betweenthe transmission input shaft 22 and the transmission output shaft 26.

Where the transmission 14 is a continuously variable transmission, theratio control unit 24 may include a variator assembly 24 a having firstand second pulleys 24 b, 24 c that are rotatably coupled by an endlessrotatable member 24 d wrapped around the variable diameter pulleys 24 b,24 c. At least one of the first and second pulleys 24 b, 24 c includes amovable sheave 24 e translatable along an axis to selectively change agear ratio between the engine output shaft 18 and the transmissionoutput shaft 26.

The transmission output shaft 26 communicates output torque to the finaldrive unit 16. The final drive unit 16 generally includes a differential28 that transfers axle torque through drive axles 30 to drive wheels 32.

Turning now to FIG. 2, a vehicle propulsion control system for use withthe exemplary propulsion system 10 is generally indicated by referencenumber 34. The vehicle propulsion control system 34 includes asupervisory control module 36 in electronic communication with an enginecontrol module 38 and a transmission control module 40. The modules 36,38, and 40 may communicate through a vehicle network or cable areanetwork (CAN) bus. The vehicle propulsion control system 34 may includeor communicate with various other control modules, such as a bodycontrol module or infotainment control module. Alternatively, thesupervisory control module 36 may be subsumed within the engine controlmodule 38 or transmission control module 40.

The supervisory control module 36 is a non-generalized, electroniccontrol device having a preprogrammed digital computer or processor 42,memory or non-transitory computer readable medium 44 used to store datasuch as control logic, instructions, image data, lookup tables, etc.,and a plurality of input/output peripherals or ports 46. The processor42 is configured to execute the control logic or instructions.

The engine control module 38 is a non-generalized, electronic controldevice having a preprogrammed digital computer or processor 48, memoryor non-transitory computer readable medium 50 used to store data such ascontrol logic, instructions, image data, lookup tables, etc., and aplurality of input/output peripherals or ports 52. The processor 48 isconfigured to execute the control logic or instructions. The enginecontrol module 38 communicates with, and controls, the engine 12.

The transmission control module 40 is a non-generalized, electroniccontrol device having a preprogrammed digital computer or processor 54,memory or non-transitory computer readable medium 56 used to store datasuch as control logic, instructions, image data, lookup tables, etc.,and a plurality of input/output peripherals or ports 58. The processor54 is configured to execute the control logic or instructions. Thetransmission control module 40 communicates with, and controls, thetransmission 14.

The vehicle propulsion control system 34 communicates with a pluralityof sensors connected to the propulsion system 10 including an air flowsensor S2 in the engine 12, an engine speed sensor S4, a transmissioninput shaft speed sensor S6, a transmission output shaft speed sensorS8, a vehicle speed sensor S10, and a pedal position sensor S12. The airflow sensor S2 and the engine speed sensor S4 communicate with theengine control module 38. The transmission input shaft speed sensor S6and the transmission output shaft speed sensor S8 communicate with thetransmission control module 40. The vehicle speed sensor S10 and thepedal position sensor S12 communicate with both the engine controlmodule 38 and the transmission control module 40.

With reference to FIG. 3, and continued reference to FIGS. 1 and 2, acontrol diagram for the vehicle propulsion control system 34 isillustrated. The control diagram illustrates a control system or method100 for controlling a parameter, such as vehicle acceleration, whileoptimizing fuel economy, which utilizes a multivariable controller. Thecontrol system 100 includes a multivariable controller 102 and a plant103 that is controlled by the multivariable controller 102. Themultivariable controller 102 may iteratively control an engine outputtorque Te 104 and a transmission ratio Rat 106 to optimize a fuelconsumption rate FR and to achieve an axle torque Ta. The axle torque Tais the amount of torque at the vehicle axle 30. Thus, inputs to themultivariable controller 102 include an axle torque requested Ta_r,which is based on driver and vehicle inputs, as well as a measuredactual axle torque Ta_m and a measured fuel consumption rate FR_m.

The control system 100 includes an engine torque controller 108, atransmission ratio controller 110 (which may be a variator controllerfor CVTs), and a vehicle dynamics module 112. In some examples, themultivariable controller 102 is stored and executed by the supervisorycontrol module 36, the engine torque controller 108 is stored andexecuted by the engine control module 38, and the transmission ratiocontroller 110 is stored and executed by the transmission control module40. The vehicle dynamics module 112 may be stored and executed by theengine control module 38, the transmission control module 40, or anyother control module or a combination of control modules.

The multivariable controller 102 may optionally receive systemlimitations 105 from the engine controller 108 including a maximumengine output torque Te_(max), a minimum engine output torque Te_(min),a maximum change in engine output torque ΔTe_(max), and a minimum changein engine output torque ΔTe_(min). The multivariable controller 102 mayalso optionally receive system limitations 107 from the transmissionratio controller 110 including a maximum transmission ratio Rat_(max), aminimum transmission ratio Rat_(min), a maximum change in transmissionratio ΔR_(max), and a minimum change in transmission ratio ΔR_(min).

Referring now to FIG. 4, another representation of the control system100 is illustrated, showing inputs and outputs to the multivariablecontroller 102 and the plant 103 controlled by the multivariablecontroller 102. For example, inputs to the multivariable controller 102may include an axle torque requested Ta_r, as well as vehicle speed V.Feedback inputs of axle torque measured Ta_m and fuel consumption ratemeasured FR_m may also be input to the multivariable controller 102.Outputs of the multivariable controller 102 may include a desired engineoutput torque Te_c_des and a transmission ratio commanded Rat_c. Thesecontrolled outputs, or “u” variables (Te_c_des and Rat_c), of themultivariable controller 102 are inputs to the plant 103, which includesthe engine 12 and transmission 14.

The desired engine output torque Te_c_des is used to control the engine12 to provide an actual engine output torque Te_a that is the engineoutput torque actually communicated to the transmission 14. Thetransmission ratio commanded Rat_c is used to control the transmission14 to provide an actual gear ratio or pulley ratio Rat_a between thetransmission input shaft 22 and the transmission output shaft 26. Thus,the plant 103 outputs the “y” variables, the values that may be tracked,which may include actual engine torque Te_a, actual fuel consumptionrate FR_a, actual transmission ratio (or pulley ratio) Rat_a, and actualaxle torque Ta_a.

Referring now to FIG. 5, additional details of the multivariablecontroller 102 are illustrated. The multivariable controller 102includes a steady state observer module 200, which is a referencegenerator. The steady state observer module determines reference values(desired or requested values) for the “u” variables (controlledvariables) and the “y” variables (the optimized output variables thatmay be tracked). For example, the steady state optimizer module 200 isconfigured to determine an engine output torque requested Te_r, atransmission ratio requested Rat_r, a fuel consumption rate requestedFR_r, and an axle torque requested Ta_r. The u_(refs) include the engineoutput torque requested Te_r and the transmission ratio requested Rat_r,while the y_(refs) may include all four of the engine output torquerequested Te_r, the transmission ratio requested Rat_r, the fuelconsumption rate requested FR_r, and the axle torque requested Ta_r. Theu_(refs) and the y_(refs) are values that are desirable during a steadystate. The MPC module 202, described below, optimizes the trajectory,particularly of the fuel consumption rate, during the transient from onesteady state to another.

The axle torque requested Ta_r may be determined based on theaccelerator pedal position PP and the vehicle speed V. For example,

Ta_r=f(PP, V).   (1)

In some examples, the axle torque requested Ta_r may be determined froma lookup table or 2D map from a vehicle speed V sensed by vehicle speedsensor S10 and an accelerator pedal position PP sensed by the pedalposition sensor S12.

The fuel consumption rate requested FR_r may be determined based on theaxle torque requested Ta_r, the vehicle speed V, the engine speed RPM,and the air-fuel ratio AF. For example,

FR_r=f(Ta_r, V, RPM, AF).   (2)

The engine speed RPM may be determined from the engine speed sensor S4.The air-fuel ratio AF is the ratio of the mass of air to the mass offuel, which may be reported by a fuel control module, by way of example.

The transmission ratio requested Rat_r may be determined based on theaxle torque requested Ta_r and the vehicle speed V. For example,

Rat_r=f(Ta_r, V).   (3)

The engine output torque requested Te_r may be determined based on theaxle torque requested Ta_r, the transmission ratio requested Rat_r, andthe final drive ratio FD (which is constant for a given vehicle). Forexample,

$\begin{matrix}{{Te}_{r} = {\frac{{Ta\_ r} + {Loss}}{{Rat}_{r}*{FD}}.}} & (4)\end{matrix}$

The “loss” factor may encompass mechanical losses, such as friction andpulley clamping losses, by way of example.

Once the requested values, or reference values, are determined, thesteady state optimizer module 200 outputs them (the u_refs and they_refs) to the MPC module 202. The MPC module 202 uses model predictivecontrol and may also be referred to as a quadratic programming solver,such as a Dantzig QP solver. At least a portion of the requested, orreference values, may also be output to a torque security monitor module212. For example, Ta_r and Te_r may be output to the torque securitymonitor module 212. The torque security monitor module 212 will bedescribed in greater detail below.

A prediction module 204 is configured to predict at least actual axletorque and an actual fuel consumption rate for use in the MPC module202. The prediction module 204 may also be referred to as a stateobserver, which uses a Kalman filter. The predicted actual values 206are output from the prediction module 204 to the MPC module 202.

The prediction module 204 is configured to generate a plurality ofpredicted actual axle torques and fuel consumption rates. For example,the prediction module generates at least a first predicted actual axletorque and a first predicted actual fuel consumption rate based on afirst set of possible command values, where the first set of possiblecommand values includes a first commanded engine output torque Te_c anda first commanded transmission ratio Rat_c. The prediction module 204 isfurther configured to generate at least a second predicted actual axletorque and a second predicted actual fuel consumption rate based on asecond set of possible command values, where the second set of possiblecommand values includes a second commanded engine output torque Te_c anda second commanded transmission ratio Rat_c. In practice, a much largernumber of predicted values may be generated based on additional sets ofpossible command values (third, fourth, fifth, etc. sets of possibleTe_c and Rat_c values). The predicted actual values 206 are output tothe MPC module 202.

The MPC module 202 contains a cost module 208 that is configured todetermine a first cost for the first set of possible command valuesTe_c, Rat_c based on at least first and second predetermined weightingvalues, the first predicted actual axle torque, the first predictedactual fuel consumption rate, the axle torque requested Ta_r, the engineoutput torque requested Te_r, the transmission ratio requested Rat_r,and the fuel consumption rate requested FR_r. Similarly, the cost module208 is configured to determine a second cost for the second set ofpossible command values Te_c, Rat_c based on at least the first andsecond predetermined weighting values, the second predicted actual axletorque, the second predicted actual fuel consumption rate, the axletorque requested Ta_r, the engine output torque requested Te_r, thetransmission ratio requested Rat_r, and the fuel consumption raterequested FR_r. Likewise, many more additional costs may be determinedbased on additional sets of predicted values and command values, inorder to optimize for the lowest cost.

The MPC module 202 may also include a selection module 210 configured toselect one of the plurality of sets of possible command values Te_c,Rat_c based on the lowest of the determined costs and set an initialselected engine output torque Te_c and a selected transmission ratioRat_c equal to, or based on, the possible command values Te_c, Rat_c ofthe selected one of the plurality of possible sets.

The cost module 202 may be configured to determine the plurality ofcosts, with the following cost equation (5):

$\begin{matrix}{{{Cost} = {{\sum{\left( {{y\left( i \middle| k \right)} - y_{ref}} \right)^{T}{Q_{Y}\left( {{y\left( i \middle| k \right)} - y_{ref}} \right)}}} + {\left( {{u\left( i \middle| k \right)} - u_{ref}} \right)^{T}{Q_{U}\left( {{u\left( i \middle| k \right)} - u_{ref}} \right)}} + {\Delta \; {u\left( i \middle| k \right)}^{T}Q_{\Delta \; u}\Delta \; {u\left( i \middle| k \right)}}}}\mspace{20mu} {y = \begin{bmatrix}{Te\_ a} \\{FR\_ a} \\{Rat\_ a} \\{Ta\_ a}\end{bmatrix}}\mspace{20mu} {y_{ref} = \begin{bmatrix}{Te\_ r} \\{FR\_ r} \\{Rat\_ r} \\{Ta\_ r}\end{bmatrix}}\mspace{20mu} {u = \begin{bmatrix}{Te\_ c} \\{Rat\_ c}\end{bmatrix}}\mspace{20mu} {u_{ref} = \begin{bmatrix}{Te\_ r} \\{Rat\_ r}\end{bmatrix}}} & (5)\end{matrix}$

where Te_a=predicted actual engine output torque; FR_a=predicted actualfuel consumption rate; Rat_a=predicted actual transmission ratio;Ta_a=predicted actual axle torque; Te_r=engine output torque requested;FR_r=fuel consumption rate requested; Rat_r=transmission ratiorequested; Ta_r=axle torque requested; Te_c=commanded engine outputtorque; Rat_c=commanded transmission ratio; Q_(y)=a first predeterminedweighting value; Q_(u)=a second predetermined weighting value; Q_(Δu)=athird predetermined weighting value; i=index value; k=prediction step;and T=transposed vector. In this case, there are two values for the “u”variables, u₁ and u₂, such that i=1, 2, and there may be four values forthe “y” variables, y₁, y₂, y₃, y₄, such that i=1, 2, 3, 4. As explainedabove, the y_(ref) and u_(ref) values may be determined by the steadystate optimizer module 200.

The plurality of costs may be determined even more particularly with thefollowing equation (6), which is an MPC equation having a predictionhorizon of three and a control horizon of two:

Cost=λ_(a)*(Ta_a _(k) −Ta_r)²+λ_(a)*(Ta_a _(k+1) −Ta_r)²+λ_(a)*(Ta_a_(k+2) −Ta_r)²+λ_(f)*(FR_a_(k) −FR_r)²+λ_(f)*(FR_a _(k+1)−FR_r)²+λ_(f)*(FR_a _(k+2) −FR_r)²+λ_(e)*(Te_c _(k) −Te_r)²+λ_(e)*(Te_c_(k+1) −Te_r)²+λ_(r)*(Rat_c _(k) −Rat_r)²+λ_(r)*(Rat_c _(k+1)−Rat_r)²+λ_(Δr)*(ΔRat_c _(k))²+λ_(Δr)*(ΔRat_c _(k+1))^(2+λ) _(Δe)*(ΔTe_c_(k))²+λ_(Δe)*(ΔTe_c _(k+1))²   (6)

where λ_(a)=a first predetermined weighting value; Ta_a_(k)=predictedactual axle torque at a prediction step k; Ta_r=axle torque requested;Ta_a_(k+1)=predicted actual axle torque at a prediction step k+1;Ta_a_(k+2)=predicted actual axle torque at a prediction step k+2;λ_(f)=a second predetermined weighting value; FR_a_(k)=predicted actualfuel consumption rate at the prediction step k; FR_r=fuel consumptionrate requested; FR_a_(k+1)=predicted actual fuel consumption rate at theprediction step k+1; FR_a_(k+2)=predicted actual fuel consumption rateat the prediction step k+2; λ_(e)=a third predetermined weighting value;Te_c_(k)=engine output torque commanded at the prediction step k;Te_r=engine output torque requested; Te_C_(k+1)=engine output torquecommanded at the prediction step k+1;λ_(r)=a fourth predeterminedweighting value; Rat_ck=transmission ratio commanded at the predictionstep k; Rat_r=transmission ratio requested; Rat_C_(k+1)=transmissionratio commanded at the prediction step k+1; λ_(Δr)=a fifth predeterminedweighting value; ΔRat_c_(k)=change in transmission ratio commanded atthe prediction step k; ΔRat_C_(k+1)=change in transmission ratiocommanded at the prediction step k+1; λ_(Δe)=a sixth predeterminedweighting value; ΔTe_c_(k)=change in engine output torque commanded atthe prediction step k; and ΔTe_c_(k+)1=change in engine output torquecommanded at the prediction step k+1. The prediction step k is theprediction at a current step, the prediction step k+1 is a predictionone step ahead, and the prediction step k+2 is a prediction two stepsahead. As explained above, the y_(ref) and u_(ref) values may bedetermined by the steady state optimizer module 200.

The cost equation (e.g., equation (5) or (6)) may be applied iterativelyto arrive at the lowest cost for a plurality of sets of possible commandvalues Te_c, Rat_c, where the plurality of sets of possible commandvalues Te_c, Rat_c include the first and second sets of possible commandvalues as well as a number of other possible sets of command values forTe_c, Rat_c. Then, the selection module 210 may select the set ofpossible command values Te_c, Rat_c of the plurality of command valueshaving the lowest cost, where the set of possible command values Te_c,Rat_c having the lowest cost may be defined as the selected set,including the selected transmission ratio Rat_c and the initial selectedengine output torque Te_c. Similarly, the cost module 208 may generate asurface representing the cost of possible sets of command values Te_c,Rat_c. The cost module 208 and/or the selection module 210 may thenidentify the possible set that has the lowest cost based on the slope ofthe cost surface.

The prediction module 204 may provide a number of predicted actualvalues 206 to the MPC module 202 for use in the cost equation (e.g.,equation (5) or (6)) by the cost module 208. The prediction module 204may use equations such as the following to determine the predictedactual values 206:

$\begin{matrix}{y_{k} = {C*x_{k}}} & (7) \\{y_{k + 1} = {C*x_{k + 1}}} & (8) \\{{x_{k + 1} = {{A*x_{k}} + {B*u_{k}} + {K_{KF}*\left( {y_{k} - y_{mk}} \right)}}}{y_{k} = \begin{bmatrix}{Te\_ a}_{k} \\{FR\_ a}_{k} \\{Rat\_ a}_{k} \\{Ta\_ a}_{k}\end{bmatrix}}{y_{k + 1} = \begin{bmatrix}{Te\_ a}_{k + 1} \\{FR\_ a}_{k + 1} \\{Rat\_ a}_{k + 1} \\{Ta\_ a}_{k + 1}\end{bmatrix}}{u_{k} = \begin{bmatrix}{Te\_ c}_{k} \\{Rat\_ c}_{k}\end{bmatrix}}{y_{mk} = \begin{bmatrix}{{Te\_ a}{\_ m}_{k}} \\{{FR\_ a}{\_ m}_{k}} \\{{Rat\_ a}{\_ m}_{k}} \\{{Ta\_ a}{\_ m}_{k}}\end{bmatrix}}} & (9)\end{matrix}$

where A=a first state matrix; B=a second state matrix; C=a third statematrix; Te_a_(k)=predicted actual engine output torque at the predictionstep k; FR_a_(k)=predicted actual fuel consumption rate at theprediction step k; Rat_a_(k)=predicted actual transmission ratio at theprediction step k; Ta_a_(k)=predicted actual axle torque at theprediction step k; X_(k)=state variable at a prediction step k;Te_a_(k+1)=predicted actual engine output torque at the prediction stepk+1; FR_a_(k+1)=predicted actual fuel consumption rate at the predictionstep k+1; Rat_a_(k+1)=predicted actual transmission ratio at theprediction step k+1; Ta_a_(k+1)=predicted actual axle torque at theprediction step k+1; x_(k+1)=state variable at a prediction step k+1;Te_c_(k)=engine output torque commanded at the prediction step k;Rat_c_(k)=transmission ratio commanded at the prediction step k;K_(KF)=a Kalman filter gain; Te_a_m_(k)=measured engine output torque atthe prediction step k; FR_a_m_(k)=measured fuel consumption rate at theprediction step k; Rat_a_m_(k)=measured transmission ratio at theprediction step k; and Ta_a_m_(k)=measured axle torque at the predictionstep k. The prediction step k is a prediction step at the current time(e.g., now), and the prediction step k+1 is a prediction one step ahead.

Measured engine output torque Te_a_m may be sensed from the enginetorque sensor S4. The measured transmission ratio, or pulley ratio,Ra_a_m may be determined from the speed of the transmission input shaft22 sensed by the transmission input shaft speed sensor S6 and the speedof the transmission output shaft 26 sensed by the transmission outputshaft speed sensor S8, and may be provided by the TCM 40.

Ta_a_(k+1) and FR_a_(k+)may be defined as or equal to the firstpredicted actual axle torque and the first predicted actual fuelconsumption rate, respectively, when generated based on the first set ofpossible command values for Te_c_(k) and Rat_c_(k), and Ta_a_(k+1) andFR_a_(k+1) may be defined as or equal to the second predicted actualaxle torque and the second predicted actual fuel consumption rate,respectively, when generated based on the second set of possible commandvalues for Te_c_(k) and Rat_c_(k), and so on.

The cost equation (e.g., equation (5) or (6)) may be subject to thefollowing constraints 105, 107:

Te_(min)<Te_c_(k)<Te_(max);

Te _(min) <Te_c _(k+1) <Te _(max);

Rat_(min)<Rat_c_(k)<Rat_(max);

Rat _(min) <Rat_c _(k+1) <Rat _(max);

ΔRat_c_(k)<ΔRat_c_(max);

ΔRat_c _(k+1) <ΔRat_c _(max);

ΔTe_c_(k)<ΔTe_c_(max); and

ΔTe_c _(k+1) <ΔTe_c _(max),

where Te_(min)=a minimum possible engine output torque, Te_(max)=amaximum possible engine output torque, Rat_(min)=a minimum possibletransmission ratio, Rat_(max)=a maximum possible transmission ratio,ΔRat_c_(max)=a maximum possible change in transmission ratio, andΔTe_c_(max)=a maximum possible change in engine output torque, where theconstraints 105, 107 may be provided by the ECM 38 and the TCM 40, byway of example.

The constants, matrices, and gain referred to above, including A, B, C,K_(KF), Q_(y), Q_(u), Q_(Δu), λ_(a), λ_(f), λ_(e), λ_(r), λ_(Δe),λ_(Δr), are parameters of the system determined through testing,physical models, or other means. In some variations, a systemidentification procedure is run offline, for example, during acalibration, to identify the constants, matrices, and gain, and also todefine u₀ and y₀. Once u₀ and y₀ are known, then x₀ can be computed fromthe prediction module equations (e.g., equations (7)-(9) or a subsetthereof). Thereafter, each of the prediction module 204 and MPC module202 equations (e.g., equations (5)-(9) or a subset thereof) can be runto obtain initial values offline. Then, the control system 102 can berun online to constantly optimize the controlled parameters Te_c andRat_c as the vehicle 9 is running through steady state and transientstates. The constants allow the cost to be determined based on therelationship between and relative importance of each of the commandedvalues Te_c, Rat_c and tracked values (e.g., FR_a, Ta_a, Rat_a, Te_a).The relationships are weighted to control the effect that eachrelationship has on the cost.

In some forms, the MPC module 202 may generate the possible sets ofcommand values Te_c, Rat_c by determining possible sequences, sets, or asurface containing the command values Te_c, Rat_c that could be used forN future control loops. The prediction module 204 may determinepredicted responses to the possible sets of the command values Te_c,Rat_c using the prediction module equations (e.g., equations (7)-(9) ora subset thereof). For example, the prediction module 204 may determinea set of predicted actual axle torques Ta_a and a set of predictedactual fuel consumption rates FR_a for N control loops.

More particularly, a set of N values for each command value Te_c, Rat_cmay be determined, and a set of M values for each predicted actual valueTa_a, FR_a may be determined based on the N command values Te_c, Rat_c.The cost module 208 may then determine the cost value for each of thepossible sets of command values Te_c, Rat_c based on the predictedactual parameters Ta_a, FR_a (which may include Ta_a_(k), Ta_a_(k+1),Ta_a_(k+2), FR_a_(k), FR_a_(k+1), and FR_a_(k+2), depending on theparticular cost equation (5), (6) used). The selection module 210 maythen select one of the possible sets of the command values Te_c, Rat_cbased on the costs of the possible sets, respectively. For example, theselection module 210 may select the possible set of command values Te_c,Rat_c having the lowest cost while satisfying the system constraints105, 107 (e.g., Te_(min)<Te_C_(k)<Te_(max);Te_(min)<Te_c_(k+1)<Te_(max); Rat_(min)<Rat_c_(k)<Rat_(max);Rat_(min)<Rat_c_(k+1)<Rat_(max); ΔTe_c_(k)<ΔTe_c_(max);ΔTe_c_(k+1)<ΔTe_c_(max); ΔRat_c_(k)<ΔRat_c_(max);ΔRat_c_(k+1)<ΔRat_c_(max)).

In some forms, satisfaction of the constraints 105, 107 may beconsidered in the cost determination. For example, the cost module 208may determine the cost values further based on the constraints 105, 107,and the selection module 210 may select the possible set of commandvalues Te_c, Rat_c that best achieves the axle torque request Ta whileminimizing fuel consumption rate FR that has been determined to complywith the constraints 105, 107.

During steady-state operation, the command values Te_c, Rat_c may settleat or near the reference, or requested, values Te_r, Rat_r,respectively. During transient operation, however, the MPC module 202may adjust the command values Te_c, Rat_c away from the reference valuesTe_r, Rat_r in order to best achieve the torque request Ta_r, whileminimizing the fuel consumption rate FR and satisfying the constraints105, 107.

In operation, the MPC module 202 may determine the cost values for thepossible sets of controlled and predicted values (u, y). The MPC module202 may then select the one of the possible sets having the lowest cost.The MPC module 202 may next determine whether the selected possible setsatisfies the constraints 105, 107. If so, the possible set may bedefined as the selected set. If not, the MPC module 202 determines theset with the lowest cost that satisfies the constraints 105, 107 anddefines that set as the selected set.

The selected Rat c command value is output from the MPC module 202 tothe plant 103 (see FIG. 4). The initial selected engine output torqueTe_c, however, may undergo another procedure before being output as adesired engine output torque commanded Te_c_des to the plant 103.

More particularly, the MPC module 202 outputs the initial selectedengine output torque Te_c from the selection module 210 to the torquesecurity monitor module 212. The torque security monitor module 212 isconfigured to determine a minimum torque limit and a maximum torquelimit, to ensure that the desired engine output torque Te_c_des that isactually output to the plant 103 is within reasonable limits.

The torque security monitor module 212 may determine the minimum torquelimit by first determining at least one of a first minimum acceptableengine output torque and a second minimum acceptable engine outputtorque. The first minimum acceptable engine output torque Te_1_acc_(min)may be determined based on the engine output torque requested Te_r and apredetermined engine output torque minimum constant P₂D₃E. For example,the first minimum acceptable engine output torque Te_1_acc_(min) may bedetermined by subtracting the predetermined engine output torque minimumconstant P₂D₃E from the engine output torque requested Te_r with thefollowing equation (10):

Te_1_acc _(min) =Te_r−P ₂ D ₃ E   (10).

The second minimum acceptable engine output torque Te_2_acc_(min) may bedetermined based on the axle torque requested Ta_r and a predeterminedaxle torque minimum constant P₂D₃A. For example, the second minimumacceptable engine output torque Te_2_acc_(min) may be determined withthe following equation (11):

$\begin{matrix}{{{{Te\_}2{\_ acc}_{\min}} = \frac{{Ta\_ r} - {P_{2}D_{3}A}}{{rat\_ a}{\_ m}*{FD}}},} & (11)\end{matrix}$

where Ta_r is the axle torque requested, P₂D₃A is the predetermined axletorque minimum constant, rat_a_m is the measured actual transmissionratio, and FD is a final drive ratio (which is constant for a particularvehicle).

The torque security monitor module 212 may be configured to determine aminimum torque limit Lim_min by selecting the lower of the first andsecond minimum acceptable engine output torques Te_1_acc_(min),Te_2_acc_(min), for example, with the following relationship:

Lim_min=min(Te_1_acc_(min) ,Te _2_acc_(min))   (12).

In situations where only one of the first and second minimum acceptableengine output torques Te_1_acc_(min), Te_2_acc_(min) is determined orused, the torque security monitor 212 may be configured to set theminimum torque limit Lim_min to whichever of the first and secondminimum acceptable torque values Te_1_acc_(min), Te_2_acc_(min) has beendetermined or is being used. For example, if only Te_1_acc_(min) isbeing used to determine the minimum torque limit Lim_min, then theminimum torque limit Lim_min is set as Te_1_acc_(min); and if onlyTe_2_acc_(min) is being used to determine the minimum torque limitLim_min, then the minimum torque limit Lim_min is set as Te_2_acc_(min).

Analogously, the torque security monitor module 212 may determine themaximum torque limit by first determining at least one of a firstmaximum acceptable engine output torque and a second maximum acceptableengine output torque. The first maximum acceptable engine output torqueTe_1_acc_(max) may be determined based on the engine output torquerequested Te_r and a predetermined engine output torque maximum constantP₂D₂E. For example, the first maximum acceptable engine output torqueTe_1_acc_(max) may be determined by adding the predetermined engineoutput torque maximum constant P₂D₂E to the engine output torquerequested Te_r with the following equation (13):

Te_1_acc_(max) =Te_r+P ₂ D ₂ E   (13).

The second maximum acceptable engine output torque Te_2_acc_(max) may bedetermined based on the axle torque requested Ta_r and a predeterminedaxle torque maximum constant P₂D₂A. For example, the second maximumacceptable engine output torque Te_2_acc_(max) may be determined withthe following equation (14):

$\begin{matrix}{{{{Te\_}2{\_ acc}_{\max}} = \frac{{Ta\_ r} + {P_{2}D_{2}A}}{{rat\_ a}{\_ m}*{FD}}},} & (14)\end{matrix}$

where Ta_r is the axle torque requested, P₂D₂A is the predetermined axletorque maximum constant, rat_a_m is the measured actual transmissionratio, and FD is the final drive ratio.

The torque security monitor module 212 may be configured to determinethe maximum torque limit Lim_max by selecting the greater of the firstand second maximum acceptable engine output torques Te_1_acc_(max),Te_2_acc_(max), for example, with the following relationship:

Lim_max=max(Te_1_acc_(max) ,Te_2_acc_(max))   (15).

In situations where only one of the first and second maximum acceptableengine output torques Te_1_acc_(max), Te_2_acc_(max) is determined orused, the torque security monitor 212 may be configured to set themaximum torque limit Lim_max to whichever of the maximum acceptabletorque values Te_1_acc_(max), Te_2_acc_(max) has been determined or isbeing used. For example, if only Te_1_acc_(max) is being used todetermine the maximum torque limit Lim_max, then the maximum torquelimit Lim_max is set as Te_1_acc_(max); and if only Te_2_acc_(max) isbeing used to determine the maximum torque limit Lim_max, then themaximum torque limit Lim_max is set as Te_2_acc_(max).

After the minimum torque limit Lim_min and the maximum torque limitLim_max are determined, the initial selected engine output torque Te_cvalue can be compared to the torque limits Lim_min, Lim_max. The torquesecurity monitor module 212 is thus configured to determine whether theinitial selected engine output torque value Te_c is less than theminimum torque limit Lim_min and to determine whether the initialselected engine output torque value Te_c is greater than the maximumtorque limit Lim_max.

If the initial selected engine output torque value Te_c is less than theminimum torque limit Lim_min, the control system 102 is configured toset the desired engine output torque value Te_c_des as the minimumtorque limit Lim_min. Similarly, if the initial selected engine outputtorque value Te_c is greater than the maximum torque limit Lim_max, thecontrol system 102 is configured to set the desired engine output torquevalue Te_c_des as the maximum torque limit Lim_max. If, however, theinitial selected engine output torque value Te_c is neither greater thanthe maximum torque limit Lim_max nor less than the minimum torque limitLim_min, the control system 102 is configured to set the desired engineoutput torque value Te_c_des as the initial selected engine outputtorque value Te_c.

The determination of whether to set the desired engine output torquevalue Te_c_des as either Te_c, Lim_max, or Lim_min may be made by thetorque security monitor module 212 or by the MPC module 202, by way ofexample. For example, Te_c_des can be determined by the torque securitymonitor module 212 and output at 214 to the MPC module 202.

The MPC module 202 may then output the desired engine output torquevalue Te_c_des and the selected transmission ratio commanded Rat_c tothe plant 103. The multivariable controller 102 or the plant 103 maycontain an actuation module configured to control a vehicle parameterbased on at least one of the desired (selected) command values Te_c_des,Rat_c. For example, acceleration of the vehicle 9 may be controlled tooptimize the fuel consumption rate. In some forms, the actuation modulemay be contained within the vehicle dynamics module 112 shown in FIG. 3.Any vehicle system that varies an engine or transmission parameter maybe referred to as an actuation module. In some forms, for example, theactuation module may vary the engine spark timing or the throttle, inorder to control vehicle acceleration and/or axle torque.

The torque security monitor module 212 may also be configured todetermine whether a failure in the Te_c calculations has occurred and totake appropriate action. For example, the torque security monitor module212 may be configured to determine whether the desired engine outputtorque value Te_c_des is set as the minimum torque limit Lim_min or themaximum torque limit Lim_max for a predetermined failure time period.The predetermined failure time period could be any desired time period,such as time period wherein Te_c_des would have been determined multipletimes. One example is a one second predetermined failure time period.The torque security monitor module 212 may be configured to set afailure mode output as true if the desired engine output torque valueTe_c_des is set as the minimum torque limit Lim_mix or the maximumtorque limit Lim_max for the predetermined failure time period. Thetorque security monitor module 212 may be configured to send a truefailure signal along signal 216 to the MPC module 202

If the failure mode output is true, either the torque security monitormodule 212 or the MPC module 202 may be configured to set the desiredengine output torque value Te_c_des as the engine output torquerequested Te_r. This has the effect of removing the MPC calculations forTe_c and merely using the engine output torque requested Te_r, asdetermined by the steady state optimizer module 200, for the engineoutput torque that is actually commanded to the plant 103, where Te_r isat least partially based on driver request inputs. Accordingly, if theMPC module 202 is determining engine output torque commanded values Te_cthat are outside the limits Lim_min and Lim_max, thus outside of anacceptable range, for a sufficient period of time (the predeterminedfailure mode time period), the system 102 overrides the MPC module 202and uses the reference engine output torque Te_r to command the plant103.

Referring now to FIG. 6, a flowchart depicting an example method forcontrolling the propulsion system 10 of the motor vehicle 9 is presentedand generally designated at 300. The method 300 may begin at a startblock 301 and thereafter perform three independent steps 302, 304, 306.For example, the method 300 includes a step 302 of determining aninitial selected engine output torque value using a model predictivecontrol system. This step 302 may include using the MPC module 202 todetermine the initial selected engine output torque value Te_c, asexplained above. The method 300 may include a step 304 of determining afirst minimum acceptable engine output torque Te_1_acc_(min) based on anengine output torque requested Te_r and a predetermined engine outputtorque minimum constant P₂D₃E, such as with equation (10) above.Further, the method 300 may include a step 306 of determining a secondminimum acceptable engine output torque Te_2_acc_(min) based on an axletorque requested Ta_r and a predetermined axle torque minimum constantP₂D₃A, such as by using equation (11) above. In some examples, only oneof steps 304 and 306 is performed, such that only one of the first andsecond minimum acceptable engine output torques Te_1_acc_(min),Te_2_acc_(min) is determined.

After determining at least one of the first and second minimumacceptable engine output torques Te_1_acc_(min), Te_2_acc_(min), themethod 300 may include a step 308 of determining a minimum torque limitLim_min by selecting one of the first and second minimum acceptableengine output torques Te_1_acc_(min), Te_2_acc_(min). The minimum torquelimit Lim_min may be determined by: a) selecting the lower of the firstand second minimum acceptable engine output torques Te_1_acc_(min),Te_2_acc_(min) to be the minimum torque limit Lim_min; b) selecting thefirst minimum acceptable engine output torque Te_1_acc_(min) to be theminimum torque limit Lim_min; or c) selecting the second minimumacceptable engine output torque Te_2_acc_(min) to be the minimum torquelimit Lim_min.

After the minimum torque limit Limmin is determined, the method 300includes a step 310 of determining whether the initial selected engineoutput torque value Te_c is less than the minimum torque limit Lim_min.If the initial selected engine output torque value Te_c is less than theminimum torque limit Lim_min, the method 300 proceeds along a path 312to a step 314 that includes setting the desired engine output torquevalue Te_c_des as the minimum torque limit Lim_min.

If in step 310, it is determined that the initial selected engine outputtorque value Te_c is not less than the minimum torque limit Lim_min, themethod 300 proceeds along a path 315 to steps 316 and 318. Step 316includes determining a first maximum acceptable engine output torqueTe_1_acc_(max) based on the engine output torque requested Te_r and apredetermined engine output torque maximum constant P₂D₂E, such as withequation (13) above. Step 318 includes determining a second maximumacceptable engine output torque Te_2_acc_(max) based on an axle torquerequested Ta_r and a predetermined axle torque maximum constant P₂D₂A,such as by using equation (14) above. In some examples, only one ofsteps 316 and 318 is performed, such that only one of the first andsecond maximum acceptable engine output torques Te_1_acc_(max),Te_2_acc_(max) is determined.

After determining at least one of the first and second maximumacceptable engine output torques Te_1_acc_(max), Te_2_acc_(max), themethod 300 may include a step 320 of determining a maximum torque limitLim_max by selecting one of the first and second maximum acceptableengine output torques Te_1_acc_(max), Te_2_acc_(max). The maximum torquelimit Lim_max may be determined by: a) selecting the greater of thefirst and second maximum acceptable engine output torquesTe_1_acc_(max), Te_2_acc_(max) to be the maximum torque limit Lim_max;b) selecting the first maximum acceptable engine output torqueTe_1_acc_(max) to be the maximum torque limit Lim_max; or c) selectingthe second maximum acceptable engine output torque Te_2_acc_(max) to bethe maximum torque limit Lim_max.

After the maximum torque limit Lim_max is determined, the method 300includes a step 322 of determining whether the initial selected engineoutput torque value Te_c is greater than the maximum torque limitLim_max. If the initial selected engine output torque value Te_c isgreater than the maximum torque limit Lim_max, the method 300 proceedsalong a path 324 to a step 326 that includes setting the desired engineoutput torque value Te_c_des as the maximum torque limit Lim_max.

If the initial selected engine output torque value Te_c is not greaterthan the maximum torque limit Lim_max, which at this point in the flowchart means that the initial selected engine output torque value Te_c isneither greater than the maximum torque limit Lim_max nor less than thetorque minimum torque limit Lim_min, the method 300 proceeds along apath 328 to a step 330. Step 330 includes setting the desired engineoutput torque value Te_c_des as the initial selected engine outputtorque value Te_c.

Thus, the desired engine output torque value Te_c_des is set in eitherstep 314, step 326, or step 330. After the desired engine output torquevalue Te_c_des is set in one of steps 314, 326, or 330, the method 330may proceed to send the desired engine output torque value Te_c_des tothe plant 103 via step 332.

Though the method 300 illustrates the steps 304, 306, 308, and 310 asoccurring prior to the steps 316, 318, 320, and 322, it should beunderstood that the steps 316, 318, 320, 322 could alternatively occurprior to or simultaneously with the steps 304, 306, 308, 310. Thus, thetorque limit maximum Lim_max could be compared to the initial selectedengine output torque value Te_c prior to comparing the torque limitminimum Lim_min to the engine output torque value Te_c or simultaneouslytherewith.

The method 300 may include additional steps to determine the initialselected engine output torque value Te_c, such as generating a number ofpredicted actual axle torques (at least first and second predictedactual axle torques) and a number of predicted actual fuel consumptionrates (at least first and second predicted actual fuel consumptionrates) based on a number of sets (at least two) of possible commandvalues. For example, the first set of possible command values includes afirst commanded engine output torque and a first commanded transmissionratio, the second set of possible command values includes a secondcommanded engine output torque and a second commanded transmissionratio, and so on as desired. These initial steps may be performed, forexample, by the prediction module 204 shown in FIG. 5.

The method 300 may also include determining a cost for each set ofpossible command values. Each cost may be determined based on at leastfirst and second predetermined weighting values, the predicted actualaxle torque for the particular set, the predicted actual fuelconsumption rate for the particular set, the axle torque requested, theengine output torque requested, the transmission ratio requested, andthe fuel consumption rate requested. These initial steps may beperformed, for example, by the cost module 208 shown in FIG. 5.

The method 300 may also initially include selecting one of the sets ofpossible command values based on the lowest of the determined costs, todetermine the initial selected engine output torque value Te_c in step302. Furthermore, the method 300 may also include determine the whethera failure mode is true, as explained in paragraphs above.

The method 300 may accomplish the steps 302, 304, 306, 308, 310, 314,316, 318, 320, 322, 326, 330, 332 in any of the ways described above,such as by applying any of the equations (1)-(15). Further, the method300 may include determining the axle torque requested, the engine outputtorque requested, and the transmission ratio requested by, as explainedabove, determining the accelerator pedal position PP and the vehiclespeed V and applying the equations (1)-(4) above, if desired.

The terms controller, control module, module, control, control unit,processor and similar terms refer to any one or various combinations ofApplication Specific Integrated Circuit(s) (ASIC), electroniccircuit(s), central processing unit(s), e.g., microprocessor(s) andassociated non-transitory memory component in the form of memory andstorage devices (read only, programmable read only, random access, harddrive, etc.). The non-transitory memory component may be capable ofstoring machine readable instructions in the form of one or moresoftware or firmware programs or routines, combinational logiccircuit(s), input/output circuit(s) and devices, signal conditioning andbuffer circuitry and other components that can be accessed by one ormore processors to provide a described functionality.

Input/output circuit(s) and devices include analog/digital convertersand related devices that monitor inputs from sensors, with such inputsmonitored at a preset sampling frequency or in response to a triggeringevent. Software, firmware, programs, instructions, control routines,code, algorithms and similar terms can include any controller-executableinstruction sets including calibrations and look-up tables. Eachcontroller executes control routine(s) to provide desired functions,including monitoring inputs from sensing devices and other networkedcontrollers and executing control and diagnostic instructions to controloperation of actuators. Routines may be executed at regular intervals,for example each 100 microseconds during ongoing operation.Alternatively, routines may be executed in response to occurrence of atriggering event.

Communication between controllers, and communication betweencontrollers, actuators and/or sensors may be accomplished using a directwired link, a networked communication bus link, a wireless link or anyanother suitable communication link. Communication includes exchangingdata signals in any suitable form, including, for example, electricalsignals via a conductive medium, electromagnetic signals via air,optical signals via optical waveguides, and the like.

Data signals may include signals representing inputs from sensors,signals representing actuator commands, and communication signalsbetween controllers. The term ‘model’ refers to a processor-based orprocessor-executable code and associated calibration that simulates aphysical existence of a device or a physical process. As used herein,the terms ‘dynamic’ and ‘dynamically’ describe steps or processes thatare executed in real-time and are characterized by monitoring orotherwise determining states of parameters and regularly or periodicallyupdating the states of the parameters during execution of a routine orbetween iterations of execution of the routine.

The control system 100 may be configured to execute each of the steps ofthe method 300. Thus, the entire description with respect to FIGS. 1-6may be applied by the control system 100 to effectuate the method 300shown in FIG. 6. Furthermore, the control system 100 may be or include acontroller that includes a number of control logics that are configuredto execute the steps of the method 300.

The controller(s) of the control system 100 may include acomputer-readable medium (also referred to as a processor-readablemedium), including any non-transitory (e.g., tangible) medium thatparticipates in providing data (e.g., instructions) that may be read bya computer (e.g., by a processor of a computer). Such a medium may takemany forms, including, but not limited to, non-volatile media andvolatile media. Non-volatile media may include, for example, optical ormagnetic disks and other persistent memory. Volatile media may include,for example, dynamic random access memory (DRAM), which may constitute amain memory. Such instructions may be transmitted by one or moretransmission media, including coaxial cables, copper wire and fiberoptics, including the wires that comprise a system bus coupled to aprocessor of a computer. Some forms of computer-readable media include,for example, a floppy disk, a flexible disk, hard disk, magnetic tape,any other magnetic medium, a CD-ROM, DVD, any other optical medium,punch cards, paper tape, any other physical medium with patterns ofholes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip orcartridge, or any other medium from which a computer can read.

Look-up tables, databases, data repositories or other data storesdescribed herein may include various kinds of mechanisms for storing,accessing, and retrieving various kinds of data, including ahierarchical database, a set of files in a file system, an applicationdatabase in a proprietary format, a relational database managementsystem (RDBMS), etc. Each such data store may be included within acomputing device employing a computer operating system such as one ofthose mentioned above, and may be accessed via a network in any one ormore of a variety of manners. A file system may be accessible from acomputer operating system, and may include files stored in variousformats. An RDBMS may employ the Structured Query Language (SQL) inaddition to a language for creating, storing, editing, and executingstored procedures, such as the PL/SQL language mentioned above.

The detailed description and the drawings or figures are supportive anddescriptive of the many aspects of the present disclosure. While certainaspects have been described in detail, various alternative aspects existfor practicing the invention as defined in the appended claims.

What is claimed is:
 1. A method for controlling a propulsion system of amotor vehicle, the method comprising: determining an initial selectedengine output torque value using a model predictive control system;determining at least one of a first minimum acceptable engine outputtorque and a second minimum acceptable engine output torque, the firstminimum acceptable engine output torque being based on an engine outputtorque requested and a predetermined engine output torque minimumconstant, and the second minimum acceptable engine output torque beingbased on an axle torque requested and a predetermined axle torqueminimum constant; determining a minimum torque limit by selecting one ofthe first and second minimum acceptable engine output torques;determining whether the initial selected engine output torque value isless than the minimum torque limit; if the initial selected engineoutput torque value is less than the minimum torque limit, setting adesired engine output torque value as the minimum torque limit;determining at least one of a first maximum acceptable engine outputtorque and a second maximum acceptable engine output torque, the firstmaximum acceptable engine output torque being based on the engine outputtorque requested and a predetermined engine output torque maximumconstant, and the second maximum acceptable engine output torque beingbased on the axle torque requested and a predetermined axle torquemaximum constant; determining a maximum torque limit by selecting one ofthe first and second maximum acceptable engine output torques;determining whether the initial selected engine output torque value isgreater than the maximum torque limit; if the initial selected engineoutput torque value is greater than the maximum torque limit, settingthe desired engine output torque value as the maximum torque limit; andif the initial selected engine output torque value is neither greaterthan the maximum torque limit nor less than the minimum torque limit,setting the desired engine output torque value as the initial selectedengine output torque value.
 2. The method of claim 1, wherein: the stepof determining at least one of a first minimum acceptable engine outputtorque and a second minimum acceptable engine output torque includesdetermining both of the first and second minimum acceptable engineoutput torques; the step of determining the minimum torque limitincludes selecting the lower of the first and second minimum acceptableengine output torques; the step of determining at least one of a firstmaximum acceptable engine output torque and a first maximum acceptableengine output torque includes determining both of the first and secondmaximum acceptable engine output torques; and the step of determiningthe maximum torque limit includes selecting the greater of the first andsecond maximum acceptable engine output torques.
 3. The method of claim2, further comprising: determining the first minimum acceptable engineoutput torque (Te_1_acc_(min)) by subtracting the predetermined engineoutput torque minimum constant from the engine output torque requested;determining the first maximum acceptable engine output torque(Te_1_acc_(max)) by adding the predetermined engine output torquemaximum constant to the engine output torque requested; determining thesecond minimum acceptable engine output torque (Te_2_acc_(min)) with thefollowing equation:${{Te\_}2{\_ acc}_{\min}} = \frac{{Ta\_ r} - {P_{2}D_{3}A}}{{rat\_ a}{\_ m}*{FD}}$where Ta_r is the axle torque requested, P₂D₃A is the predetermined axletorque minimum constant, rat_a_m is a measured actual transmissionratio, and FD is a final drive ratio; and determining the second maximumacceptable engine output torque (Te_2_acc_(max)) with the followingequation:${{Te\_}2{\_ acc}_{\max}} = \frac{{Ta\_ r} + {P_{2}D_{2}A}}{{rat\_ a}{\_ m}*{FD}}$where P₂D₂A is the predetermined axle torque maximum constant.
 4. Themethod of claim 3, further comprising: determining whether the desiredengine output torque value is set as one of the minimum torque limit andthe maximum torque limit for a predetermined failure time period; and ifthe desired engine output torque value is set as one of the minimumtorque limit and the maximum torque limit for the predetermined failuretime period, setting a failure mode output as true.
 5. The method ofclaim 4, further comprising setting the desired engine output torquevalue as the engine output torque requested if the failure mode outputis true.
 6. The method of claim 5, further comprising: determining anaccelerator pedal position (PP); determining a vehicle speed (V);determining the axle torque requested (Ta_r) based on the acceleratorpedal position (PP) and the vehicle speed (V); determining atransmission ratio requested (Rat_r) based on the axle torque requested(Ta_r) and the vehicle speed (V); and determining the engine outputtorque requested (Te_r) based on the axle torque requested (Ta_r), thetransmission ratio requested (Rat_r), and the final drive ratio (FD). 7.The method of claim 6, wherein the step of determining the initialselected engine output torque value using the model predictive controlsystem comprises: generating a plurality of sets of possible commandvalues, the plurality of sets of possible command values including aplurality of commanded engine output torque values and a plurality ofcommanded transmission ratio values; determining a cost for each set ofpossible command values of the plurality of sets of possible commandvalues based on a first predetermined weighting value, a secondpredetermined weighting value, a predicted actual axle torque value of aplurality of predicted actual axle torque values, a predicted actualfuel consumption rate value of a plurality of predicted actual fuelconsumption rate values, the axle torque requested, the engine outputtorque requested, the transmission ratio requested, and a fuelconsumption rate requested; determining which set of possible commandvalues of the plurality of sets of possible command values has a lowestcost; and selecting the set of possible command values that has thelowest cost to define a selected set, the selected set including theinitial selected engine output torque value and a selected transmissionratio value.
 8. The method of claim 7, further comprising controlling avehicle parameter based on the desired engine output torque value andthe selected transmission ratio value.
 9. A motor vehicle propulsioncontrol system for a motor vehicle having a transmission and an engine,the motor vehicle propulsion control system comprising: a modelpredictive control module configured to determine an initial selectedengine output torque value using a model predictive control scheme; atorque security monitor module configured to: determine at least one ofa first minimum acceptable engine output torque and a second minimumacceptable engine output torque, the first minimum acceptable enginetorque being based on an engine output torque requested and apredetermined engine output torque minimum constant, and the secondminimum acceptable engine output torque being based on an axle torquerequested and a predetermined axle torque minimum constant; determine aminimum torque limit by selecting one of the first and second minimumacceptable engine output torques; determine whether the initial selectedengine output torque value is less than the minimum torque limit; set adesired engine output torque value as the minimum torque limit if theinitial selected engine output torque value is less than the minimumtorque limit; determine at least one of a first maximum acceptableengine output torque and a second maximum acceptable engine outputtorque, the first maximum acceptable engine torque being based on theengine output torque requested and a predetermined engine output torquemaximum constant, and the second maximum acceptable engine output torquebeing based on the axle torque requested and a predetermined axle torquemaximum constant; determine a maximum torque limit by selecting one ofthe first and second maximum acceptable engine output torques; determinewhether the initial selected engine output torque value is greater thanthe maximum torque limit; set the desired engine output torque value asthe maximum torque limit if the initial selected engine output torquevalue is greater than the maximum torque limit; and set the desiredengine output torque value as the initial selected engine output torquevalue if the initial selected engine output torque value is neithergreater than the maximum torque limit nor less than the minimum torquelimit.
 10. The motor vehicle propulsion control system of claim 9,wherein the torque security monitor module is configured to: determineboth of the first and second minimum acceptable engine output torques;determine both of the first and second maximum acceptable engine outputtorques; determine the minimum torque limit by selecting the lower ofthe first and second minimum acceptable engine output torques; anddetermine the maximum torque limit by selecting the greater of the firstand second maximum acceptable engine output torques.
 11. The motorvehicle propulsion control system of claim 10, wherein the torquesecurity monitor module is configured to: determine the first minimumacceptable engine output torque (Te_1_acc_(min)) by subtracting thepredetermined engine output torque minimum constant from the engineoutput torque requested; determine the first maximum acceptable engineoutput torque (Te_1_acc_(max)) by adding the predetermined engine outputtorque maximum constant to the engine output torque requested; determinethe second minimum acceptable engine output torque (Te_2_acc_(min)) withthe following equation:${{Te\_}2{\_ acc}_{\min}} = \frac{{Ta\_ r} - {P_{2}D_{3}A}}{{rat\_ a}{\_ m}*{FD}}$where Ta_r is the axle torque requested, P₂D₃A is the predetermined axletorque minimum constant, rat_a_m is a measured actual transmissionratio, and FD is a final drive ratio; and determine the second maximumacceptable engine output torque (Te_2_acc_(max)) with the followingequation:${{Te\_}2{\_ acc}_{\max}} = \frac{{Ta\_ r} + {P_{2}D_{2}A}}{{rat\_ a}{\_ m}*{FD}}$where P₂D₂A is the predetermined axle torque maximum constant.
 12. Themotor vehicle propulsion control system of claim 11, wherein the torquesecurity monitor module is configured to determine whether the desiredengine output torque value is set as one of the minimum torque limit andthe maximum torque limit for a predetermined failure time period, thetorque security monitor module being configured to set a failure modeoutput as true if the desired engine output torque value is set as oneof the minimum torque limit and the maximum torque limit for thepredetermined failure time period, the torque security monitor modulebeing configured to set the desired engine output torque value as theengine output torque requested if the failure mode output is true. 13.The motor vehicle propulsion control system of claim 12, furthercomprising a steady state optimizer module configured to: determine anaccelerator pedal position (PP); determine a vehicle speed (V);determine the axle torque requested (Ta_r) based on the acceleratorpedal position (PP) and the vehicle speed (V); determine a transmissionratio requested (Rat_r) based on the axle torque requested (Ta_r) andthe vehicle speed (V); and determine the engine output torque requested(Te_r) based on the axle torque requested (Ta_r), the transmission ratiorequested (Rat_r), and the final drive ratio (FD).
 14. The motor vehiclepropulsion control system of claim 13, wherein the model predictivecontrol module is configured to determine the initial selected engineoutput torque value by: generating a plurality of sets of possiblecommand values, the plurality of sets of possible command valuesincluding a plurality of commanded engine output torque values and aplurality of commanded transmission ratio values; determining a cost foreach set of possible command values of the plurality of sets of possiblecommand values based on a first predetermined weighting value, a secondpredetermined weighting value, a predicted actual axle torque value of aplurality of predicted actual axle torque values, a predicted actualfuel consumption rate value of a plurality of predicted actual fuelconsumption rate values, the axle torque requested, the engine outputtorque requested, the transmission ratio requested, and a fuelconsumption rate requested; determining which set of possible commandvalues of the plurality of sets of possible command values has a lowestcost; and selecting the set of possible command values that has thelowest cost to define a selected set, the selected set including theinitial selected engine output torque value and a selected transmissionratio value.
 15. The motor vehicle propulsion control system of claim14, further comprising an actuator module configured to control avehicle parameter based on the desired engine output torque value andthe selected transmission ratio value.
 16. A propulsion system for amotor vehicle, comprising: an engine operable to power the motorvehicle, the engine having an engine output shaft configured to transferengine output torque; a continuously variable transmission having avariator assembly including a first pulley and a second pulley, thefirst and second pulleys being rotatably coupled by a rotatable member,at least one of the first and second pulleys including a movable sheavetranslatable along an axis to selectively change a transmission ratiobetween the engine output shaft and a transmission output shaft; a driveaxle configured to be driven via the transmission output shaft, thedrive axle being configured to output axle torque to a set of wheels;and a control system comprising: a model predictive control moduleconfigured to determine an initial selected engine output torque valueusing a model predictive control scheme; a torque security monitormodule configured to: determine at least one of a first minimumacceptable engine output torque and a second minimum acceptable engineoutput torque, the first minimum acceptable engine output torque beingbased on an engine output torque requested and a predetermined engineoutput torque minimum constant, and the second minimum acceptable engineoutput torque being based on an axle torque requested and apredetermined axle torque minimum constant; determine a minimum torquelimit by selecting one of the first and second minimum acceptable engineoutput torques; determine whether the initial selected engine outputtorque value is less than the minimum torque limit; set a desired engineoutput torque value as the minimum torque limit if the initial selectedengine output torque value is less than the minimum torque limit;determine at least one of a first maximum acceptable engine outputtorque and a second maximum acceptable engine output torque, the firstmaximum acceptable engine output torque being based on the engine outputtorque requested and a predetermined engine output torque maximumconstant, and the second maximum acceptable engine output torque beingbased on the axle torque requested and a predetermined axle torquemaximum constant; determine a maximum torque limit by selecting one ofthe first and second maximum acceptable engine output torques; determinewhether the initial selected engine output torque value is greater thanthe maximum torque limit; set the desired engine output torque value asthe maximum torque limit if the initial selected engine output torquevalue is greater than the maximum torque limit; and set the desiredengine output torque value as the initial selected engine output torquevalue if the initial selected engine output torque value is neithergreater than the maximum torque limit nor less than the minimum torquelimit.
 17. The propulsion system of claim 16, wherein the torquesecurity monitor module is configured to: determine both of the firstand second minimum acceptable engine output torques; determine both ofthe first and second maximum acceptable engine output torques; determinethe minimum torque limit by selecting the lower of the first and secondminimum acceptable engine output torques; and determine the maximumtorque limit by selecting the greater of the first and second maximumacceptable engine output torques.
 18. The propulsion system of claim 17,wherein the torque security monitor module is configured to: determinethe first minimum acceptable engine output torque (Te_1_acc_(min)) bysubtracting the predetermined engine output torque minimum constant fromthe engine output torque requested; determine the first maximumacceptable engine output torque (Te_1_acc_(max)) by adding thepredetermined engine output torque maximum constant to the engine outputtorque requested; determine the second minimum acceptable engine outputtorque (Te_2_acc_(min)) with the following equation:${{Te\_}2{\_ acc}_{\min}} = \frac{{Ta\_ r} - {P_{2}D_{3}A}}{{rat\_ a}{\_ m}*{FD}}$where Ta_r is the axle torque requested, P₂D₃A is the predetermined axletorque minimum constant, rat_a_m is a measured actual transmissionratio, and FD is a final drive ratio; and determine the second maximumacceptable engine output torque (Te_2_acc_(max)) with the followingequation:${{Te\_}2{\_ acc}_{\max}} = \frac{{Ta\_ r} + {P_{2}D_{2}A}}{{rat\_ a}{\_ m}*{FD}}$where P₂D₂A is the predetermined axle torque maximum constant.
 19. Thepropulsion system of claim 18, wherein the torque security monitormodule is configured to determine whether the desired engine outputtorque value is set as one of the minimum torque limit and the maximumtorque limit for a predetermined failure time period, the torquesecurity monitor module being configured to set a failure mode output astrue if the desired engine output torque value is set as one of theminimum torque limit and the maximum torque limit for the predeterminedfailure time period, the torque security monitor module being configuredto set the desired engine output torque value as the engine outputtorque requested if the failure mode output is true.
 20. The propulsionsystem of claim 19, the control system further comprising a steady stateoptimizer module configured to: determine an accelerator pedal position(PP); determine a vehicle speed (V); determine the axle torque requested(Ta_r) based on the accelerator pedal position (PP) and the vehiclespeed (V); determine a transmission ratio requested (Rat_r) based on theaxle torque requested (Ta_r) and the vehicle speed (V); and determinethe engine output torque requested (Te_r) based on the axle torquerequested (Ta_r), the transmission ratio requested (Rat_r), and thefinal drive ratio (FD), wherein the model predictive control module isconfigured to determine the initial selected engine output torque valueby: generating a plurality of sets of possible command values, theplurality of sets of possible command values including a plurality ofcommanded engine output torque values and a plurality of commandedtransmission ratio values; determining a cost for each set of possiblecommand values of the plurality of sets of possible command values basedon a first predetermined weighting value, a second predeterminedweighting value, a predicted actual axle torque value of a plurality ofpredicted actual axle torque values, a predicted actual fuel consumptionrate value of a plurality of predicted actual fuel consumption ratevalues, the axle torque requested, the engine output torque requested,the transmission ratio requested, and a fuel consumption rate requested;determining which set of possible command values of the plurality ofsets of possible command values has a lowest cost; and selecting the setof possible command values that has the lowest cost to define a selectedset, the selected set including the initial selected engine outputtorque value and a selected transmission ratio value, wherein thecontrol system further comprises an actuator module configured tocontrol a vehicle parameter based on the desired engine output torquevalue and the selected transmission ratio value.